#include <ctype.h>
#include <limits.h>
#include <math.h>
#include <stdbool.h>
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>

/**
 * Definition for a binary tree node.
 */
struct TreeNode {
	int val;
	struct TreeNode* left;
	struct TreeNode* right;
};
typedef struct TreeNode treeNode, *treenode;

int main()
{
	return 0;
}

struct TreeNode* sortedArrayToBST(int* nums, int numsSize)
{
	int mid = numsSize >> 1;

	treenode new = calloc(1, sizeof(treeNode));
	new->val = nums[mid];
	if (mid > 0)
		new->left = sortedArrayToBST(nums, mid);
	mid++;
	if (numsSize - mid > 0)
		new->right = sortedArrayToBST(nums + mid, numsSize - mid);

	return new;
}
